using System;
using Server;
using Server.Multis;
using Server.Mobiles;
using Server.Regions;
using Server.Targeting;
using System.Collections;
using System.Collections.Generic;
using Server.Network;
using System.Text;
using Server.Items;

namespace Server.Engines.Quests.RandomQuests
{
    public class RandomQuestDefines
    {
        public static string[] Text = new string[]
        {
            "Hail brave adventurer. I am the local taskmaster.",
            "If anything needs to be done around here...I am the one to see.",
            "Although I am not supposed to hire any citizens, you look like",
            "you can handle yourself. Of course, I could get in much trouble",
            "if they find out that I let slip what needs to be done, as gold",
            "is rare and usually the nobles want to get the riches for themselves.",
            "I'll tell you what, you slip a few gold coins my way, and I will",
            "be a little careless about what I say. The more gold I get...the",
            "more careless I will speak."
        };

        #region Locations
        ///// CONFIGURE THE LOCATIONS HERE ///////////////////////////////////////////////////////////////
		// MAKE SURE YOU ADD THE X & Y & MAP TO THE "SECTION - LCXY1" LOWER IN THE SCRIPT ///////////////

        public static List<List<string>> Places { get { return m_Places; } }

        private static List<List<string>> m_Places = new List<List<string>>
        {
            new List<string>
            { // Level 1
    			"Dungeon Despise (Level 1)",
	    		"Dungeon Despise (Level 2)",
		    	"the Sewers"
            },
            new List<string>
            { // Level 2
			    "Dungeon Covetous (Level 1)",
			    "Dungeon Despise (Level 3)",
			    "Dungeon Wrong (Level 1)",
			    "the Spider Cave",
			    "the Britain Cemetery",
			    "the Spectre Dungeon"
            },
            new List<string>
		    { // Level 3
			    "Dungeon Covetous (Level 2)",
			    "Dungeon Deceit (Level 1)",
			    "Dungeon Deceit (Level 2)",
			    "Dungeon Hythloth (Level 1)",
			    "Dungeon Shame (Level 1)",
			    "Dungeon Wrong (Level 2)",
			    "Dungeon Wrong (Level 3)",
			    "the Trinsic Passage",
			    "the Ratman Mines (Level 1)",
			    "the Wisp Dungeon (Level 3)"
		    },
            new List<string>
		    { // Level 4
    			"Dungeon Ankh",
	    		"Dungeon Covetous (Level 3)",
		    	"Dungeon Deceit (Level 3)",
			    "Dungeon Hythloth (Level 2)",
			    "Dungeon Shame (Level 2)",
			    "the Fire Dungeon (Level 1)",
			    "the Ice Dungeon",
			    "the Ratman Fort",
			    "the Rock Dungeon",
			    "the Solen Hive",
			    "the Sorcerer`s Dungeon (Level 1)",
			    "the Wisp Dungeon (Level 5)",
			    "the Hedge Maze"
		    },
            new List<string>
		    { // Level 5
    			"Dungeon Covetous (Jail Cells)",
	    		"Dungeon Deceit (Level 4)",
		    	"Dungeon Hythloth (Level 3)",
			    "Dungeon Khaldun",
    			"Dungeon Shame (Level 3)",
	    		"Dungeon Shame Mage Towers",
		    	"Terathan Keep",
			    "the Fire Dungeon (Level 2)",
    			"the Kirin Passage",
	    		"the Serpentine Passage",
		    	"the Ratman Mines (Level 2)",
			    "the Sorcerer`s Dungeon (Jail Cells)",
    			"the Sorcerer`s Dungeon (Level 2)",
	    		"the Wisp Dungeon (Level 7)"
		    },
            new List<string>
		    { // Level 6
			    "Bedlam",
			    "Dungeon Blood",
			    "Dungeon Covetous (Lake Cave)",
			    "Dungeon Destard",
			    "Dungeon Doom",
			    "Dungeon Hythloth (Level 4)",
			    "Dungeon Shame (Level 5)",
			    "the Ancient Cave",
			    "the Ice Demon Lair",
			    "the Sorcerer`s Dungeon (Level 3)",
			    "Dungeon Exodus",
			    "the Wisp Dungeon (Level 8)"
		    }
        };
        #endregion

        #region Monsters
        /* CONFIGURE THE CREATURES HERE */
        public static List<List<MonsterTypeName>> Monsters { get { return m_Monsters; } }
        private static List<List<MonsterTypeName>> m_Monsters = new List<List<MonsterTypeName>>
		{
            new List<MonsterTypeName> // Level 1
            {
			    new MonsterTypeName("Bull Frog", new Type[]{typeof(BullFrog)}),
			    new MonsterTypeName("Giant Rat", new Type[]{typeof(GiantRat)}),
			    new MonsterTypeName("Lizardman", new Type[]{typeof(Lizardman)}),
			    new MonsterTypeName("Mongbat", new Type[]{typeof(Mongbat),typeof(StrongMongbat)}),
			    new MonsterTypeName("Orc", new Type[]{typeof(Orc),typeof(OrcArcher),typeof(OrcBomber),typeof(OrcCaptain),typeof(OrcishMage),typeof(OrcishLord)}),
			    new MonsterTypeName("Ratman", new Type[]{typeof(Ratman),typeof(RatmanArcher),typeof(RatmanMage)}),
			    new MonsterTypeName( "Sewer Rat", new Type[]{typeof(Rat),typeof(Sewerrat)}),
			    new MonsterTypeName("Skeleton", new Type[]{typeof(Skeleton),typeof(SkeletalMage),typeof(SkeletalKnight),typeof(DarkSkeleton)}),
			    new MonsterTypeName("Slime", new Type[]{typeof(Slime),typeof(FrostOoze)}),
			    new MonsterTypeName("Zombie", new Type[]{typeof(Zombie),typeof(DarkZombie)})
            },
            new List<MonsterTypeName> // Level 2
            {
			    new MonsterTypeName("Brigand", new Type[]{typeof(Brigand)}),
			    new MonsterTypeName("Earth Elemental", new Type[]{typeof(EarthElemental)}),
			    new MonsterTypeName("Ettin", new Type[]{typeof(Ettin)}),
			    new MonsterTypeName("Gazer Larva", new Type[]{typeof(GazerLarva)}),
			    new MonsterTypeName("Ghoul", new Type[]{typeof(Ghoul)}),
			    new MonsterTypeName("Giant Spider", new Type[]{typeof(GiantSpider)}),
			    new MonsterTypeName("Giant Toad", new Type[]{typeof(GiantToad)}),
			    new MonsterTypeName("Harpy", new Type[]{typeof(Harpy)}),
			    new MonsterTypeName("Headless One", new Type[]{typeof(HeadlessOne)}),
			    new MonsterTypeName("Orc Bomber", new Type[]{typeof(OrcBomber)}),
			    new MonsterTypeName("Scorpion", new Type[]{typeof(Scorpion)}),
			    new MonsterTypeName("Shade", new Type[]{typeof(Shade)}),
			    new MonsterTypeName("Spectre", new Type[]{typeof(Spectre)}),
			    new MonsterTypeName("Wraith", new Type[]{typeof(Wraith)})
            },
            new List<MonsterTypeName> // Level 3
            {			
			    new MonsterTypeName("Air Elemental", new Type[]{typeof(AirElemental)}),
			    new MonsterTypeName("Bogle", new Type[]{typeof(Bogle)}),
			    new MonsterTypeName("Bogling", new Type[]{typeof(Bogling)}),
			    new MonsterTypeName("Bone Knight", new Type[]{typeof(BoneKnight)}),
			    new MonsterTypeName("Bone Magi", new Type[]{typeof(BoneMagi)}),
			    new MonsterTypeName("Corpser", new Type[]{typeof(Corpser)}),
			    new MonsterTypeName("Cyclops", new Type[]{typeof(Cyclops)}),
			    new MonsterTypeName("Fire Elemental", new Type[]{typeof(FireElemental)}),
			    new MonsterTypeName("Frost Ooze", new Type[]{typeof(FrostOoze)}),
			    new MonsterTypeName("Frost Spider", new Type[]{typeof(FrostSpider)}),
			    new MonsterTypeName("Frost Troll", new Type[]{typeof(FrostTroll)}),
			    new MonsterTypeName("Gargoyle", new Type[]{typeof(Gargoyle)}),
			    new MonsterTypeName("Gazer", new Type[]{typeof(Gazer)}),
			    new MonsterTypeName("Giant Serpent", new Type[]{typeof(GiantSerpent)}),
			    new MonsterTypeName("Hell Hound", new Type[]{typeof(HellHound)}),
			    new MonsterTypeName("Ice Elemental", new Type[]{typeof(IceElemental)}),
			    new MonsterTypeName("Ice Snake", new Type[]{typeof(IceSnake)}),
			    new MonsterTypeName("Imp", new Type[]{typeof(Imp)}),
			    new MonsterTypeName("Lava Snake", new Type[]{typeof(LavaSnake)}),
			    new MonsterTypeName("Ogre", new Type[]{typeof(Ogre)}),
			    new MonsterTypeName("Ophidian Knight", new Type[]{typeof(OphidianKnight)}),
			    new MonsterTypeName("Ophidian Warrior", new Type[]{typeof(OphidianWarrior)}),
			    new MonsterTypeName("Orc Brute", new Type[]{typeof(OrcBrute)}),
			    new MonsterTypeName("Orc Captain", new Type[]{typeof(OrcCaptain)}),
			    new MonsterTypeName("Orcish Lord", new Type[]{typeof(OrcishLord)}),
			    new MonsterTypeName("Orcish Mage", new Type[]{typeof(OrcishMage)}),
			    new MonsterTypeName("Patchwork Skeleton", new Type[]{typeof(PatchworkSkeleton)}),
			    new MonsterTypeName("Ratman Archer", new Type[]{typeof(RatmanArcher)}),
			    new MonsterTypeName("Ratman Mage", new Type[]{typeof(RatmanMage)}),
			    new MonsterTypeName("Sand Vortex", new Type[]{typeof(SandVortex)}),
			    new MonsterTypeName("Savage", new Type[]{typeof(Savage)}),
			    new MonsterTypeName("Savage Shaman", new Type[]{typeof(SavageShaman)}),
			    new MonsterTypeName("Skeletal Knight", new Type[]{typeof(SkeletalKnight)}),
			    new MonsterTypeName("Skeletal Mage", new Type[]{typeof(SkeletalMage)}),
			    new MonsterTypeName("Snow Elemental", new Type[]{typeof(SnowElemental)}),
			    new MonsterTypeName("Stone Gargoyle", new Type[]{typeof(StoneGargoyle)}),
			    new MonsterTypeName("Stone Harpy", new Type[]{typeof(StoneHarpy)}),
			    new MonsterTypeName("Terathan Drone", new Type[]{typeof(TerathanDrone)}),
			    new MonsterTypeName("Terathan Warrior", new Type[]{typeof(TerathanWarrior)}),
			    new MonsterTypeName("Troll", new Type[]{typeof(Troll)}),
			    new MonsterTypeName("Water Elemental", new Type[]{typeof(WaterElemental)})
            },
            new List<MonsterTypeName> // Level 4
            {			
			    new MonsterTypeName("Bog Thing", new Type[]{typeof(BogThing)}),
			    new MonsterTypeName("Centaur", new Type[]{typeof(Centaur)}),
			    new MonsterTypeName("Drake", new Type[]{typeof(Drake)}),
			    new MonsterTypeName("Dread Spider", new Type[]{typeof(DreadSpider)}),
			    new MonsterTypeName("Evil Mage", new Type[]{typeof(EvilMage)}),
			    new MonsterTypeName("Fire Gargoyle", new Type[]{typeof(FireGargoyle)}),
			    new MonsterTypeName("Giant Black Widow", new Type[]{typeof(GiantBlackWidow)}),
			    new MonsterTypeName("Ice Serpent", new Type[]{typeof(IceSerpent)}),
			    new MonsterTypeName("Lava Lizard", new Type[]{typeof(LavaLizard)}),
			    new MonsterTypeName("Lava Serpent", new Type[]{typeof(LavaSerpent)}),
			    new MonsterTypeName("Lich", new Type[]{typeof(Lich)}),
			    new MonsterTypeName("Mummy", new Type[]{typeof(Mummy)}),
			    new MonsterTypeName("Ogre Lord", new Type[]{typeof(OgreLord)}),
			    new MonsterTypeName("Ophidian Archmage", new Type[]{typeof(OphidianArchmage)}),
			    new MonsterTypeName("Ophidian Mage", new Type[]{typeof(OphidianMage)}),
			    new MonsterTypeName("Ophidian Matriarch", new Type[]{typeof(OphidianMatriarch)}),
			    new MonsterTypeName("Phoenix", new Type[]{typeof(Phoenix)}),
			    new MonsterTypeName("Plague Spawn", new Type[]{typeof(PlagueSpawn)}),
			    new MonsterTypeName("Quagmire", new Type[]{typeof(Quagmire)}),
			    new MonsterTypeName("Restless Soul", new Type[]{typeof(RestlessSoul)}),
			    new MonsterTypeName("Swamp Tentacle", new Type[]{typeof(SwampTentacle)}),
			    new MonsterTypeName("Terathan Avenger", new Type[]{typeof(TerathanAvenger)}),
			    new MonsterTypeName("Terathan Matriarch", new Type[]{typeof(TerathanMatriarch)}),
			    new MonsterTypeName("Titan", new Type[]{typeof(Titan)}),
			    new MonsterTypeName("Wyvern", new Type[]{typeof(Wyvern)})
            },
            new List<MonsterTypeName> // Level 5
            {			
			    new MonsterTypeName("Blood Elemental", new Type[]{typeof(BloodElemental)}),
			    new MonsterTypeName("Daemon", new Type[]{typeof(Daemon)}),
			    new MonsterTypeName("Efreet", new Type[]{typeof(Efreet)}),
			    new MonsterTypeName("Elder Gazer", new Type[]{typeof(ElderGazer)}),
			    new MonsterTypeName("Evil Mage Lord", new Type[]{typeof(EvilMageLord)}),
			    new MonsterTypeName("Fire Steed", new Type[]{typeof(FireSteed)}),
			    new MonsterTypeName("Ice Fiend", new Type[]{typeof(IceFiend)}),
			    new MonsterTypeName("Lich Lord", new Type[]{typeof(LichLord)}),
			    new MonsterTypeName("Nightmare", new Type[]{typeof(Nightmare)}),
			    new MonsterTypeName("Plague Beast", new Type[]{typeof(PlagueBeast)}),
			    new MonsterTypeName("Poison Elemental", new Type[]{typeof(PoisonElemental)}),
			    new MonsterTypeName("Rotting Corpse", new Type[]{typeof(RottingCorpse)}),
			    new MonsterTypeName("Silver Serpent", new Type[]{typeof(SilverSerpent)}),
			    new MonsterTypeName("Toxic Elemental", new Type[]{typeof(ToxicElemental)})
            },
            new List<MonsterTypeName> // Level 4
            {			
			    new MonsterTypeName("Ancient Lich", new Type[]{typeof(AncientLich)}),
			    new MonsterTypeName("Ancient Wyrm", new Type[]{typeof(AncientWyrm)}),
			    new MonsterTypeName("Balron", new Type[]{typeof(Balron)}),
			    new MonsterTypeName("Dragon", new Type[]{typeof(Dragon)}),
			    new MonsterTypeName("Kraken", new Type[]{typeof(Kraken)}),
			    new MonsterTypeName("Shadow Wyrm", new Type[]{typeof(ShadowWyrm)}),
			    new MonsterTypeName("Skeletal Dragon", new Type[]{typeof(SkeletalDragon)}),
			    new MonsterTypeName("Succubus", new Type[]{typeof(Succubus)})
            }

        };

        #endregion

        #region Story
        ///// CONFIGURE THE ITEM STORY HERE ///////////////////////////////////////////////////////////////
		public static string[] Story1 { get { return m_Story1; } }

		private static string[] m_Story1 = new string[]
		{
			"Rumors say that it is in", "The prophecy claims it is in", "The ancient text talks of it in",
			"Some say they have seen it in", "It is said you can find it in", "It was lost in",
			"It was left behind in", "It was hidden in", "An old map says it is in", "A discovered scroll says it can be found in",
			"This recovered tablet tells of it in", "A fairy tale tells of it in", "a rambling wizard says it can be found in",
			"Many have claimed to see it in", "They claim it was stolen while they were in", "Someone dropped it while exploring",
			"A bard sung of it being in", "Some gypsy said it can be found in"
		};


		///// CONFIGURE THE MONSTER STORY HERE ///////////////////////////////////////////////////////////
		public static string[] Story2 { get { return m_Story2; } }
		public static string[] Story3 { get { return m_Story3; } }

		private static string[] m_Story2 = new string[]
		{
			"wants them dead", "wants revenge for their daughter`s death", "wants revenge for their son`s death",
			"wants to rid the land of them", "is giving rewards for their deaths", "is afraid to face them on their own",
			"is hiring many people to slay them", "has been wounded by them and is quite angry", "is pushing for their extinction",
			"is trying to clear them out", "will not rest until they are all wiped out", "wants them in our land no longer"
		};

		private static string[] m_Story3 = new string[]
		{
			"For the death of", "By decree of", "For the disappearance of", "Bounty put out by", "Rewards offered by",
			"For the attack on", "For terrorizing", "For the death of the father of", "For the death of the mother of",
			"For the assault on", "Ordered by"
		};
        #endregion

        #region Items
        ///// CONFIGURE THE MAIN ITEMs HERE //////////////////////////////////////////////////////////////
		public static string[] Items1 { get { return m_Items1; } }

		private static string[] m_Items1 = new string[]
		{
			"Orb", "Crystal", "Eye", "Jewel", "Gem", "Axe", "Pike", "Shield", "Rapier", "Sword", "Staff", "Cube", "Globe", "Ring", 
			"Necklace", "Amulet", "Book", "Tome", "Potion", "Elixir", "Scroll", "Wand", "Helm", "Gloves", "Bow", "Gauntlets", "Bracers",
			"Robe", "Cloak", "Horn", "Knife", "Dagger", "Mace", "Spear", "Boots", "Stone", "Rod", "Harp", "Crossbow", "Crown", "Talisman",
			"Totem", "Idol", "Chalice", "Armor", "Belt", "Bracelet"
		};


		///// CONFIGURE THE ENDING ADVJECTIVES HERE //////////////////////////////////////////////////////
		public static string[] Items2 { get { return m_Items2; } }

		private static string[] m_Items2 = new string[]
		{
			"Frost", "Ice", "Fire", "Death", "Doom", "Power", "Enchantment", "Invulnerability", "Might", "Protection", "Shadows", "Light",
			"Evil", "Truth", "Cold", "Poison", "Energy", "Force", "Justice", "Life", "Warning", "Destruction", "Healing", "the Gods",
			"Fortune", "Teleportation", "Astral Travel", "Illusion", "Darkness",
			"Frost", "Ice", "Fire", "Death", "Doom", "Power", "Enchantment", "Invulnerability", "Might", "Protection", "Shadows", "Light",
			"Evil", "Truth", "Cold", "Poison", "Energy", "Force", "Justice", "Life", "Warning", "Destruction", "Healing", "the Gods",
			"Fortune", "Teleportation", "Astral Travel", "Illusion", "Darkness",
			"the Templar", "the Thief", "the Illusionist", "the Princess", "the Invoker", "the Priest",
			"the Conjurer", "the Bandit", "the Priestess", "the Baron", "the Wizard", "the Cleric",
			"the Monk", "the Minstrel", "the Defender", "the Cavalier", "the Magician", "the Witch",
			"the Fighter", "the Seeker", "the Slayer", "the Ranger", "the Barbarian", "the Explorer",
			"the Heretic", "the Gladiator", "the Sage", "the Rogue", "the Paladin", "the Bard",
			"the Diviner", "the Lord", "the Outlaw", "the Prophet", "the Mercenary", "the Adventurer",
			"the Enchanter", "the King", "the Scout", "the Mystic", "the Mage", "the Traveler",
			"the Summoner", "the Queen", "the Warrior", "the Sorcerer", "the Seer", "the Hunter",
			"the Knight", "the Prince", "the Necromancer", "the Sorceress", "the Shaman"
		};


		///// CONFIGURE THE STARTING ADJECTIVES HERE /////////////////////////////////////////////////////
		public static string[] Items3 { get { return m_Items3; } }

		private static string[] m_Items3 = new string[]
		{
			"Exotic", "Mysterious", "Enchanted", "Marvelous", "Amazing", "Astonishing", "Mystical",
			"Astounding", "Magical", "Divine", "Excellent", "Magnificent", "Phenomenal", "Fantastic",
			"Incredible", "Miraculous", "Extraordinary", "Fabulous", "Wondrous", "Glorious", "Dreadful",
			"Horrific", "Terrible", "Disturbing", "Frightful", "Awful", "Dire", "Grim", "Vile", "Lost", "Fabled",
			"Legendary", "Mythical", "Missing", "Doomed", "Endless", "Eternal", "Exalted", "Glimmering",
			"Sadistic", "Disrupting", "Spiritual", "Demonic", "Holy", "Heavenly", "Ancestral",
			"Ornate", "Ultimate", "Abyssmal", "Crazed", "Elven", "Orcish", "Dwarvish", "Gnomish", "Cursed",
			"Sylvan", "Wizardly", "Sturdy", "Disturbing", "Odd", "Rare", "Treasured", "Damned", "Evil",
			"Lawful", "Foul", "Infernal", "Royal", "Worldy", "Blasphemous", "Planar", "Wonderful",
			"Perfected", "Vicious", "Chaotic", "Haunted", "Travelling", "Unholy", "Infernal",
			"Villainous", "Accursed", "Fiendish", "Adored", "Hallowed", "Glorified", "Sacred",
			"Blissful", "Almighty", "Dominant", "Supreme", "Fallen", "Dark", "Earthly", "Mighty",
			"Unspeakable", "Unknown", "Forgotten", "Deathly", "Undead", "Infinite", "Abyssmal"
		};

		///// CONFIGURE THE ITEM OWNERS HERE /////////////////////////////////////////////////////////////
		public static string[] Items4 { get { return m_Items4; } }

		private static string[] m_Items4 = new string[]
		{
			"Adaradle", "Cimaclidor", "Gertur", "Maldorink", "Robois", "Angunald", "Aade", "Mabias",
			"Adkyna", "Cinghin", "Gladh", "Marmosi", "Rondona", "Aurging", "Ddald", "Liding",
			"Aeferryfela", "Cinthereban", "Glasar", "Marrese", "Rothiw", "Cala", "Dhonl", "Madon",
			"Aehes", "Cirth", "Glassa", "Marri", "Ruadhad", "Cangla", "Dorome", "Maelowr",
			"Aemathan", "Gobar", "Marus", "Ruamnan", "Chan", "Eesa", "Maeluinus",
			"Aenchoba", "Cognvareding", "Gobharlas", "Marvaldiri", "Ruditherming", "Chuthmmi", "Eiba", "Lifferg",
			"Acwulf", "Colairion", "Gimran", "Marry", "Selin", "Dorthu", "Farine", "Litiny",
			"Adakonico", "Colan", "Ginou", "Marus", "Selrontus", "Falla", "Fkisl", "Llice",
			"Aeter", "Collsbe", "Godrica", "Marzhaetod", "Ryannen", "Fauauthencaro", "Gerrut", "Lonan",
			"Adegen", "Collullen", "Glederile", "Marvegis", "Senstarlough", "Gorgortuna", "Higafi", "Magda",
			"Agraien", "Colmgristrow", "Goibhinnach", "Matha", "Sabhrewi", "Hallalur", "Kalir", "Loron",
			"Agrimona", "Colphe", "Gollewyn", "Mattancheude", "Sadyn", "Haulo", "Kesig", "Maglor",
			"Adulf", "Comgalant", "Goibhin", "Mathere", "Seporvi", "Hmoturol", "Moc", "Malog",
			"Agulac", "Conandinas", "Gouthos", "Maxina", "Sadyn", "Kalli", "Oige", "Malpaigley",
			"Aieth", "Concouise", "Grevon", "Melain", "Saegalach", "Lalarornargw", "Rer", "Luches",
			"Aimboruin", "Concs", "Gunory", "Melan", "Saemglas", "Langororobat", "Ritdar", "Maagdvar",
			"Aesci", "Concuxoman", "Goibhir", "Mefferog", "Sequa", "Lkatugin", "Rud", "Macka",
			"Aesiry", "Conner", "Gomeri", "Meladrywood", "Serne", "Lungoth", "Rufar", "Malrickannie",
			"Aitharrely", "Connlugon", "Gwain", "Melathe", "Saiuche", "Miantu", "Sbit", "Malronna",
			"Aethennye", "Conovan", "Gondorcan", "Metta", "Seven", "Moguglk", "Sirtuf", "Maddi",
			"Alennifiel", "Coolis", "Gwalloyd", "Meldurie", "Sammarth", "Sair", "Suro", "Maolinn",
			"Aethosgorla", "Corbjalas", "Gorbis", "Milimbron", "Shaug", "Ugurirt", "Teddot", "Maeret",
			"Agius", "Cordberthyn", "Gorsaihirri", "Moire", "Sheelana", "Vangulurc", "Tedula", "Maglach",
			"Agnat", "Corflaneu", "Grachansien", "Molum", "Shenargharth", "Weglauli", "Tirik", "Maiet",
			"Aiblaithet", "Corina", "Granwy", "Monesthet", "Shenn", "Welrot", "Vada", "Malcolum",
			"Aille", "Coryssa", "Guolde", "Morga", "Shermund", "Alagula", "Aere", "Marcanovane",
			"Alfil", "Covedu", "Gwazeldan", "Meline", "Sandoralith", "Baimmagild", "Dalbal", "Salther",
			"Alherson", "Cregodsunnye", "Gwensin", "Melinneth", "Santhinter", "Caualorirchal", "Delga", "Praergaed",
			"Ailpin", "Creicath", "Gwene", "Morgan", "Shouenollus", "Chaldu", "Dir", "Samaneelene",
			"Alescforther", "Cucus", "Gwith", "Mortiphri", "Sibyll", "Gitulinaethegu", "Dired", "Samith",
			"Alewenna", "Cuintraya", "Haaric", "Moynteinvain", "Sibyrnach", "Hengona", "Fohor", "Sammen",
			"Alingvar", "Culbury", "Gwirkitta", "Meluf", "Saoignolf", "Kaert", "Garit", "Priel",
			"Alien", "Culleofer", "Hadrifiel", "Muirchar", "Signachne", "Kamothuro", "Grocr", "Priveliann",
			"Aliquesnan", "Cunedo", "Hariomhnaid", "Mylee", "Sigurbertur", "Kauiaz", "Hidte", "Prossoke",
			"Allan", "Cunomen", "Hayla", "Naiglossi", "Sipithne", "Korndur", "Hokede", "Pwyllgever",
			"Altheired", "Cunos", "Heiliach", "Nathianus", "Sirardolen", "Lkortul", "Kgedn", "Samporotic",
			"Alungoth", "Cyhilgaleth", "Helmhearlo", "Nealemberhae", "Smiss", "Lungodu", "Lgob", "Quienere",
			"Alvarth", "Cymox", "Helmott", "Nelan", "Solia", "Mamelaz", "Meti", "Sanben",
			"Amaerell", "Cynhel", "Helwyn", "Netheilos", "Sorod", "Nathimingorm", "Nbadr", "Sanberin",
			"Alpho", "Cynlo", "Gwynthian", "Mengar", "Saxus", "Nchammaglkaug", "Nir", "Santheiua",
			"Amalphyth", "Cynraenta", "Halann", "Merdan", "Scait", "Odulurchirordr", "Nondeb", "Quier",
			"Amervis", "Cyrus", "Hazra", "Mersides", "Schaed", "Rilalavangon", "Radavi", "Ragorten",
			"Ancelyndy", "Daalneylyn", "Hearbathekin", "Meryl", "Schondorn", "Rothi", "Rakrit", "Readwennor",
			"Andalf", "Daghallfreda", "Heatosus", "Mewanezel", "Scipirene", "Rthaetulauglu", "Rocnot", "Saury",
			"Anskarim", "Daille", "Hedden", "Millon", "Serezik", "Sakaugitur", "Rohag", "Seenad",
			"Aodre", "Dalbeth", "Helhervi", "Mindon", "Seuma", "Shmmelarirot", "Rreht", "Reosa",
			"Ammeidoc", "Dalie", "Hered", "Nicathrennur", "Spier", "Vandrthuindu", "Ruhdo", "Segast",
			"Amsyndser", "Dalwing", "Hervyn", "Niccus", "Sripthien", "Vaturirthm", "Rumibe", "Reose",
			"Apias", "Damalongan", "Hered", "Minmo", "Shaus", "Vaugberugia", "Simuyo", "Reosef",
			"Andabanberth", "Davetus", "Hildiwa", "Nijenn", "Steald", "Wergor", "Tarkor", "Rhybranen",
			"Anfast", "Deaga", "Hilgriwa", "Nimide", "Steine", "Baingurchul", "Agluah", "Ribus",
			"Aracbergtun", "Decyvedu", "Heredergana", "Moglos", "Sigdis", "Cathiaullrthmm", "Alruur", "Seibhing",
			"Anfela", "Dedegant", "Hires", "Norix", "Steinzena", "Chimak", "Arucraen", "Cathes",
			"Anfridge", "Degil", "Huntresa", "Nuarnoth", "Stwine", "Drndethmatugl", "Athotd", "Carnach",
			"Angborn", "Deiristo", "Hyldristick", "Ogmael", "Suald", "Dronaurndurdug", "Bariag", "Catinethiana",
			"Araddox", "Delany", "Hirmelis", "Moinsanth", "Siger", "Durorind", "Cahubraig", "Celotherich",
			"Aragorn", "Dener", "Hithur", "Molfrikinoth", "Sillovigfus", "Eglrorgundrugo", "Cihededt", "Certan",
			"Anjarmoth", "Denkth", "Iardall", "Oilbhe", "Sulish", "Encatu", "Dogihsosh", "Cassavusime",
			"Annal", "Derriht", "Iatachtach", "Oilfhil", "Svafnkell", "Fando", "Edatibulh", "Cassimurcia",
			"Arberyd", "Derufineryn", "Holas", "Molueli", "Slefsunsha", "Gurinca", "Habsaul", "Catisoth",
			"Ansellryeter", "Desth", "Ideardin", "Oranithos", "Swald", "Gwegorodulam", "Haglitr", "Cativ",
			"Ap-Owerkhes", "Devan", "Idwene", "Orcailifeth", "Sybet", "Ilkarirthar", "Hircalh", "Changaniam",
			"Amlait", "D'Evre", "Heofsa", "Nevettele", "Spant", "Ituth", "Huhahn", "Ceighterri",
			"Archite", "Diand'", "Hosbeth", "Morgar", "Sodenevrina", "Korchaug", "Ibnotn", "Chani",
			"Aptidh", "Dician", "Ilford", "Ordys", "Taigardus", "Korilo", "Ilheab", "Chastinia",
			"Argond", "Dilarion", "Hracye", "Morgonan", "Solas", "Kormiaturgo", "Inorelinl", "Chlinethian",
			"Ariwen", "Dimus", "Hrotheker", "Morix", "Sontz", "Ngogiak", "Itolraab", "Celeribe",
			"Aradys", "Dockermas", "Imchad", "Orefrfast", "Talig", "Ntulrolo", "Lalihg", "Celeved",
			"Arald", "Doireth", "Imlad", "Orody", "Tegar", "Ogoturdugldr", "Loceraoh", "Celte",
			"Arlethawluig", "Doirss", "Hroxie", "Morna", "Sorry", "Olar", "Nennuan", "Ciach",
			"Arhtshallmo", "Domnallys", "Ininna", "Oroke", "Tegarmail", "Orgo", "Olalehaad", "Cibus",
			"Arley", "Donath", "Inionna", "Orrianaid", "Telizez", "Rururch", "Sicatatr", "Celyan",
			"Arlygan", "Donchorundon", "Huailindrog", "Morwe", "Spaisia", "Sharua", "Tinariin", "Cinunnse",
			"Arlos", "Donnie", "Intha", "Osbeorsatus", "Telrichardo", "Vakazgl", "Ubidnert", "Cercnain",
			"Arnagh", "Driathink", "Hunter", "Morwenn", "Stebbi", "Vamimm", "Ulerteeh", "Chrono",
			"Arnethire", "Drovath", "Hwambrevonn", "Mothe", "Straid", "Akoduti", "Ablagr", "Ciacion",
			"Asberg", "Dryrymon", "Idelos", "Mouthiana", "Strogiel", "Asudad", "Adattang", "Ciarion",
			"Artuir", "Dubhe", "Ioardoc", "Otbond", "Tendiegisan", "Atadedak", "Adenalinl", "Clemma",
			"Athallyr", "Dubiggur", "Iehmassi", "Muadamulakk", "Surre", "Axeer", "Aralcail", "Fugeiria",
			"Avien", "Duilen", "Iseas", "Ottiriel", "Terfula", "Binye", "Aribihd", "Gablez",
			"Aylina", "Dumnagh", "Iethilo", "Muiriehmarus", "Sveinestel", "Edeline", "Atedetiet", "Gaess",
			"Avituc", "Dumnochobb", "Isotharic", "Overninus", "Terot", "Etifaca", "Bogatbius", "Gaillughaill",
			"Aylinsonse", "Eadan", "Ilchoard", "Mulnus", "Svert", "Lelhi", "Casbuit", "Galadrime",
			"Baishian", "Eafrikinn", "Imloth", "Murry", "Sween", "Mutydare", "Dunaet", "Galak",
			"Barladucus", "Eaneidh", "Imrilla", "Myles", "Swine", "Niyni", "Edelocoel", "Galduit",
			"Beardolde", "Earcorodrich", "Indingaer", "Naogurm", "Tadhagol", "Odadinir", "Ehalonoad", "Garrinaic",
			"Ayleribesta", "Ebemma", "Issch", "Palman", "Teseibhne", "Ohibarat", "Erdaud", "Garry",
			"Baith", "Eburn", "Jartman", "Paraps", "Teway", "Raruced", "Godreub", "Gatiarth",
			"Becca", "Edrich", "Inmouthor", "Naueritta", "Tallaith", "Rexaxrem", "Hatalitt", "Gauros",
			"Balyesmourn", "Edynoreth", "Jarvelaed", "Pawlynn", "Thats", "Roletizi", "Isniah", "Gavin",
			"Barrim", "Effroyd", "Jazma", "Peole", "Therly", "Royazar", "Lahhoas", "Gavinas",
			"Bedwick", "Eitin", "Intheodar", "Naugh", "Tanton", "Serez", "Lediag", "Gaylesh",
			"Bauisligal", "Eksiprepri", "Jokulan", "Perond", "Therto", "Tarar", "Naderbaah", "Geathet",
			"Bearus", "Eksisbury", "Kabristofa", "Pesifalas", "Thian", "Toxva", "Ogelath", "Geirdarnan",
			"Beleg", "Ekwesth", "Ioete", "Nealys", "Tanyalek", "Utaen", "Onarareab", "Gelege",
			"Belvana", "Ekwiremia", "Ismeneouuin", "Nechuff", "Tasses", "Vosa", "Ralcaal", "Gematurg",
			"Beley", "Elagus", "Kaithe", "Peutoust", "Thidric", "Xetaroka", "Rehatb", "Genildis",
			"Benciann", "Elbius", "Kaluth", "Phana", "Thiet", "Xira", "Renenirl", "Geofgivye",
			"Benou", "Elborn", "Istacheidir", "Neile", "Tefalaf", "Zetomyhe", "Rughend", "Geofraelisa",
			"Beornorth", "Elduin", "Ivalee", "Neldur", "TerSeekonny", "Zilohona", "Teluhoer", "Georht",
			"Benji", "Elian", "Keelyne", "Pothswineron", "Thikaden", "Adinikox", "Batemz", "Gerechula",
			"Bennonne", "Elich", "Kenear", "Prak-Zig", "Thryth", "Adivema", "Bed",
			"Bethimen", "Elimagus", "Jacloves", "Nemilinny", "Teriana", "Anami", "Besotg", "Gerrim",
			"Beribenzel", "Elissire", "Kenni", "Presaric", "Thuiley", "Arira", "Bmon", "Gilos",
			"Berthause", "Elricherick", "Kennie", "Priel", "Tianarus", "Azekis", "Bokesm", "Xabilie",
			"Bethe", "Elrong", "Kennock", "Purtlan", "Tigeri", "Cihal", "Bzagn", "Woodwyn",
			"Bjarma", "Elsecgren", "Jakebing", "Netta", "Thargoll", "Cizavix", "Dob", "Xandur",
			"Blathea", "Elstanly", "Jayden", "Nevalinnyn", "Thella", "Dasibmir", "Duterm", "Xaphorster",
			"Bitane", "Emmena", "Kevyn", "Qilla", "Tillentius", "Dirob", "Gabm", "Xelan",
			"Blatell", "Emyndenelda", "Kibes", "Quaethenzio", "Tilloc", "Elofivi", "Gmerx", "Wrough",
			"Blayne", "Emynyr", "Jayne", "Nicolm", "Theod", "Ferirded", "Gobadk", "Wulla",
			"Blina", "Endrai", "Jazliko", "Nides", "Think", "Hafde", "Gox", "Wynwoioi",
			"Bolbjora", "Eneelesonket", "Knutiltito", "Quebrand", "Tirina", "Ireet", "Gud", "Xabus",
			"Bowdyn", "Enoulheirc", "Kordurh", "Ragluman", "Tiriok", "Mirital", "Kaz", "Xiommish",
			"Boanna", "Entink", "Jenncho", "Nomond", "Thoces", "Nexerek", "Kusz", "Xavio",
			"Boriya", "Eochearnir", "Jesmonan", "Norody", "Thoren", "Nyse", "Mdos", "Xippeleg",
			"Bozef", "Eochuter", "Joakhanezah", "Norysset", "Thosgarenn", "Ratsa", "Mubazs", "Yarmotherl",
			"Brach", "Eogentyne", "Joevicca", "O'Neid", "Thowella", "Renyvar", "Nazogr", "Yourn",
			"Breas", "Eosarath", "Kriseaghy", "Raskars", "Toenbert", "Ridan", "Nes", "Xydrie",
			"Bradowfax", "Eosina", "Jonya", "Odhred", "Thrabent", "Rokan", "Rabx", "Xylan",
			"Brenzander", "Epilla", "Kyantesso", "Ravaciacus", "Torchon", "Sazikak", "Rgemad", "Yeers",
			"Brespal", "Erachlo", "Laistjane", "Refil", "Trach", "Suros", "Temg", "Zahna",
			"Breth", "Eride", "Lardullian", "Reidhg", "Trecumharust", "Tehidora", "Xanozt", "Zaximo",
			"Branabell", "Ermournen", "Joscale", "Olvagosa", "Tikingal", "Todxo", "Zagumx", "Yenoli",
			"Branden", "Erricia", "Josse", "Omnaltgaliam", "Tipher", "Uvalalil", "Zdusb", "Zepheron",
			"Brethur", "Esairfydd", "Laugurespath", "Rekwe", "Tresink", "Afazer", "Brog", "Ysfall",
			"Bridra", "Estendir", "Josuuarn", "Orgeralassa", "Tissia", "Ahoni", "Bxorem", "Zabel",
			"Brilionn", "Esubsiorsa", "Jowan", "Orielsecha", "Toduned", "Ateloba", "Gebakx", "Zabeni",
			"Bring", "Etarva", "Judigbryht", "Orret", "Tothryth", "Avkov", "Gox", "Zebin ",
			"Brochebig", "Etgera", "Kaellecton", "Osbeothe", "Traem", "Dixutir", "Gxomub", "Zozzo ",
			"Brockmarille", "Ethelmotor", "Karkus", "Osbertur", "Treen", "Donorauk", "Kmot", "Boh",
			"Brythaid", "Etrick", "Katanyalin", "Osripi", "Trilynton", "Hara", "Kunedb", "Dehoro",
			"Bretta", "Eultutney", "Lawaithburga", "Relar", "Treva", "Ihizan", "Med", "Del",
			"Burthgham", "Eurieth", "Katyrus", "Ossedelle", "Tuorne", "Iroharim", "Munads", "Detro",
			"Byrtelena", "Evernen", "Kavanora", "Osvinaugh", "Tutel", "Isubasak", "Nmabg", "Fadher",
			"Cadfang", "Evrenth", "Keena", "Othryth", "Twichos", "Itoso", "Ntuser", "Fircis",
			"Briatha", "Excolma", "Leach", "Remay", "Tronellen", "Ivirikor", "Nuxr", "Fsah",
			"Brichadha", "Exinan", "Leanna", "Rendore", "Truin", "Kohurbar", "Nzork", "Garde",
			"Brith", "Faireth", "Leide", "Reote", "Tuarad", "Lidebam", "Rmukg", "Gelnar",
			"Brocht", "Falmtyrnetta", "Leigh", "Reprick", "Tudfran", "Mitik", "Rtegob", "Geri",
			"Brook", "Falyndzai", "Lenoel", "Reprost", "Tyrnaster", "Ranereku", "Suk", "Hvad",
			"Brossies", "Fanghus", "Lerice", "Rettan", "Uilief", "Ronelioc", "Tax", "Iama",
			"Caela", "Fanus", "Kende", "Ottinus", "Uaignobe", "Roxalah", "Tmazx", "Ieva",
			"Bryales", "Fareth", "Lestril", "Rhyas", "Uiran", "Ryxox", "Toxb", "Iiro",
			"Caili", "Faria", "Kennos", "Owaynegalim", "Unpith", "Tayator", "Tzasb", "Kehmul",
			"Bryanna", "Farma", "Leuff", "Rikur", "Uriarmosink", "Teri", "Tzax", "Liler",
			"Caina", "Fenectus", "Kevin", "Padsto", "Unter", "Ulari", "Xbased", "Mnavb",
			"Cairex", "Feras", "Kinburh", "Palurial", "Vadrickael", "Uridol", "Xdukez", "Nrir",
			"Caith", "Ferrick", "Kiorte", "Pants", "Valinick", "Xarirab", "Xem", "Resrol",
			"Caithren", "Ferth", "Knutun", "Parkathant", "Varingwayn", "Ymasul", "Zrebom", "Rregr",
			"Calde", "Fevard", "Kolbye", "Pearus", "Vellw", "Aafi", "Baz", "Rudik",
			"Bryth", "Filbh", "Lilion", "Rivan", "Valan", "Aeyi", "Bmetog", "Rvas",
			"Budouth", "Filies", "Linnda", "Robert", "Vauberth", "Dlarr", "Bsadon", "Tat",
			"Bygyn", "Seekirianor", "Lithlea", "Roche", "Vaunt", "Fufiri", "Bsutax", "Uavi",
			"Byrhthe", "Finshep", "Livarzegin", "Rolyn", "Veneve", "Hide", "Daxonr", "Vidra",
			"Bytzer", "Firil", "Lizola", "Romar", "Waldor", "Hihe", "Der", "Zxotug",
			"Calduil", "Firth", "Kongalangwin", "Pelegoronth", "Vidan", "Hmuht", "Derg", "Videh",
			"Calhoun", "Fithur", "Koule", "Perann", "Vorwin", "Horden", "Dezt", "Zmedr",
			"Calion", "Flaenguallyn", "Krise", "Perman", "Vuall", "Iada", "Dox", "Zrak",
			"Calura", "Flaine", "Laimithifiet", "Persidius", "Waithe", "Kcah", "Gtekus", "Ttem",
			"Camremar", "Fobble", "Latiabair", "Pirogaidach", "Waken", "Kfabt", "Magebs", "Uote",
			"Carapharyn", "Forop", "Lebahar", "Pitinis", "Weidlyn", "Ldor", "Mkanog", "Wihen",
			"Cadha", "Fough", "Lliez", "Ronni", "Wartmanna", "Ledsat", "Mtog", "Wynfreen",
			"Calla", "Fowelinder", "Lobrandiern", "Ronya", "Wathfais", "Lodar", "Mxerb", "Possimpre",
			"Camrod", "Franie", "Lomerveinse", "Rorianton", "Weies", "Mis", "Ndet", "Saebertui",
			"Camrotmather", "Frarellastie", "Losinedyth", "Rorystach", "Wightiua", "Nnukn", "Nuz", "Leoses",
			"Caperes", "Fravela", "Lothiuture", "Roscollus", "Wmffricus", "Rarif", "Ran", "Lynne",
			"Caravis", "Freth", "Lebee", "Pleri", "Werni", "Reb", "Sbaxun", "Froighe",
			"Cardon", "Friennain", "Lotrissimac", "Roway", "Worth", "Rtak", "Sgor", "Froth",
			"Carrannin", "Frienny", "Lucham", "Runstina", "Wrainne", "Safo", "Snar", "Carin",
			"Casin", "Frietga", "Lugalle", "Rutha", "Wulffre", "Sarda", "Xgemz", "Casye",
			"Carilann", "Frith", "Leffer", "Ploughne", "Wichalish", "Tadri", "Xzeb",
			"Lord Blackthorn", "Mondain", "Conan", "Elric", "Merlin", "King Arthur", "Gandalf",
			"Bilbo", "Frodo", "Elrond", "Aragorn", "Lord British", "Thulsa Doom", "King Osric",
			"Valeria", "Zeddicus", "Rahl", "Venger", "Tiamat", "Aphrodite", "Ares", "Hades",
			"Hermes", "Zeus", "Poseidon", "Elminster", "Drizzt", "Yyrkoon", "Moonglum", "Djeryv",
			"Lord Blackthorn", "Mondain", "Conan", "Elric", "Merlin", "King Arthur", "Gandalf",
			"Bilbo", "Frodo", "Elrond", "Aragorn", "Lord British", "Thulsa Doom", "King Osric",
			"Valeria", "Zeddicus", "Rahl", "Venger", "Tiamat", "Aphrodite", "Ares", "Hades",
			"Hermes", "Zeus", "Poseidon", "Elminster", "Drizzt", "Yyrkoon", "Moonglum", "Djeryv",
			"Lord Blackthorn", "Mondain", "Conan", "Elric", "Merlin", "King Arthur", "Gandalf",
			"Bilbo", "Frodo", "Elrond", "Aragorn", "Lord British", "Thulsa Doom", "King Osric",
			"Valeria", "Zeddicus", "Rahl", "Venger", "Tiamat", "Aphrodite", "Ares", "Hades",
			"Hermes", "Zeus", "Poseidon", "Elminster", "Drizzt", "Yyrkoon", "Moonglum",
			"Agtatt", "Erlitl", "Irennaet", "Tararculc", "Asilnaor", "Denead", "Nonanlohl",
			"Ahadnebh", "Gorriin", "Lohiteir", "Toriah", "Astiib", "Dohalosb", "Nublaar",
			"Ahuhcods", "Helirars", "Ogriut", "Udgial", "Badgeal", "Enehtiln", "Onadaog",
			"Anelraul", "Horihitr", "Radatluor", "Uhatens", "Banideor", "Enolsast", "Ruganish",
			"Anrorc", "Ihatigeag", "Raliradr", "Adutenael", "Decollenb", "Etohaat", "Sacunsabn",
			"Atilcesn", "Ihsuhg", "Recergatl", "Alerrohr", "Direrl", "Galnaag", "Todtuhb",
			"Cunaht", "Ledlaub", "Tahedanb", "Anniut", "Edduhr", "Hanenteon", "Udahoic",
			"Deltagt", "Necnilr", "Tararculc", "Asilnaor", "Ernaan", "Hotoog", "Adaraniin",
			"Deneeg", "Nugancues", "Toriah", "Astiib", "Gatair", "Ihediit", "Adrosc",
			"Endelh", "Nuthoed", "Udgial", "Badgeal", "Henisabt", "Ilecurugg", "Agalihenr",
			"Erasaal", "Odirnuag", "Uhatens", "Banideor", "Ilrelt", "Larahn", "Ageneol",
			"Ergiet", "Raganebs", "Ahudieh", "Decollenb", "Irennaet", "Leluul", "Agluun",
			"Etnond", "Raraan", "Anohirirn", "Direrl", "Lohiteir", "Lerhind", "Agutasihh",
			"Gadalaug", "Relicenh", "Cehlaog", "Edduhr", "Ogriut", "Ohadaer", "Aletaab",
			"Habiot", "Silutiin", "Ecehnien", "Ernaan", "Radatluor", "Reroteuh", "Alsoab",
			"Hirern", "Sohbaln", "Eceluel", "Gatair", "Raliradr", "Adutenael", "Ataneon",
			"Isuteeb", "Tarahisd", "Ecurinaln", "Henisabt", "Recergatl", "Alerrohr", "Caralbenl",
			"Nitebecg", "Tinhaed", "Elaceah", "Ilrelt", "Tahedanb", "Anniut",
			"Ath", "Balmonth", "Baranth", "Bralmuth", "Briarananth", "Bucarth", "Bullinth", "Camalanth",
			"Carmath", "Caroth", "Cath", "Chaneth", "Charanuth", "Chatianth", "Colareth", "Coliath",
			"Craillanth", "Craimath", "Crairenarth", "Duvenath", "Emaleth", "Esianth", "Fith", "Galzieth",
			"Gamiath", "Gatianth", "Gebeth", "Gith", "Giyeth", "Glanarth", "Glath", "Gorianth", "Hallath",
			"Halzanth", "Iacanth", "Iasiluth", "Jemiath", "Jenith", "Jeranth", "Jeranuth", "Jeth", "Laneth",
			"Malanenth", "Mallieth", "Mareninth", "Menianth", "Meranuth", "Meth", "Mikenth", "Mikieth",
			"Mileth", "Mneniath", "Mneth", "Mogonth", "Morenelth", "Moth", "Naranoth", "Nenith", "Palararth",
			"Paloth", "Perinth", "Plath", "Polaneth", "Polarinth", "Polzeth", "Poraneth", "Porenorth",
			"Povarith", "Quessith", "Quevenanth", "Rolieth", "Rossoth", "Roth", "Sagrianth", "Samaloth",
			"Shayenth", "Sholzianth", "Shonniath", "Shoth", "Sidieth", "Spamath", "Spamuth", "Spath", "Speth",
			"Tagmuth", "Tarmuth", "Tiagorth", "Tiakoth", "Tiarath", "Trabieth", "Trananth", "Traranath",
			"Tueth", "Weth", "Wielgianth", "Wieneth", "Wienieth", "Wirmarth", "Lunamon", "Ioneron", "Reanthasala",
			"Tiamar", "Olrion", "Lunorx", "Jonin", "Olthonis", "Taleron", "Abraanthasala", "Lunadine", "Olthas",
			"Tiansa", "Valorx", "Talrion", "Caradine", "Shinikon", "Ti", "Takhansa", "Ollev", "Sirorx", "Abrae",
			"Riisis", "Lauralare", "Darrion", "Juderon", "Tieth", "Ri", "Takhorx", "Raist", "Riorx", "Shinadine",
			"Rias", "Nophean", "Amonter", "Antarahi", "Danyan", "Darangan", "Erantog", "Gandong", "Gioga", "Iguga",
			"Jimondan", "Jioga", "Jirondra", "Loga", "Ngran", "Ptangra", "Ptorag", "Rahiosar", "Ranttira", "Rosegh",
			"Sanyarar", "Sptor", "Varon", "Ytaro", "Ytingahi", "Zigodare", "Zilahed", "Bahiga", "Cora", "Egog",
			"Eragontt", "Gospt", "Hirah", "Hratapru", "Hrontr", "Jiran", "Jisa", "Larange", "Llan", "Ndrant", "Ngat",
			"Ntar", "Odzonte", "Onya", "Pigaheey", "Pimahrao", "Ragugieg", "Thraheg", "Uira", "Ulloda", "Vanyanga",
			"Yttongal", "Abotoram", "Bimo", "Cogo", "Contod", "Conya", "Daralora", "Dzig", "Erot", "Ghilong", "Guig",
			"Imegig", "Iong", "Londod", "Mispra", "Pisa", "Pronga", "Ptorahee", "Randrag", "Tahra", "Tong",
			"Ttilo", "Ugago", "Ugaraga", "Zontt", "Arangama", "Bigama", "Dongio", "Espispto", "Gimiosp", "Ilabimo",
			"Irall", "Irgui", "Jilarara", "Lant", "Lararo", "Largimol", "Mand", "Marab", "Ndron", "Ntorahra", "Onthi",
			"Ragrara", "Santega", "Segiong", "Ugra", "Ulor", "Vama", "Yarameg", "Yttigal", "Rieron", "Olrion",
			"Shinadine", "Chislev", "Caras",
			"Mulpelpe", "Ermohup", "Hehsiel", "Nahehoehsas", "Oratinael", "Eriel", "Pocaspomon", "Sorubiseriel",
			"Aropet", "Zases", "Tpahihuz", "Pael", "Erorasl", "Aknrar", "Ahelas", "Pontael", "Asiel", "Nopoz",
			"Rneenuziel", "Namolon", "Tuep", "Henbolaron", "Zedeson", "Assoaz", "Sotas", "Tadal", "Huslcir",
			"Rutselomiel", "Solael", "Saez", "Bettael", "Ampahoel", "Zatar", "Osaselael", "Irpsan", "Alael",
			"Pdutozab", "Luziel", "Tadon", "Asramel", "Aknoan", "Ahnet", "Unonom", "Xuksetpo", "Pemcapso", "Osapon",
			"Pimunael", "Esulamon", "Tuhkaraip", "Menepruron", "Ranaron", "Allaten", "Asoreb", "Razeniel",
			"Sapanolr", "Ticos", "Ussaxot", "Hahlraz", "Tedrahamael", "Apcbun", "Bahmensu", "Oron", "Xatnpih",
			"Opael", "Ipamorz", "Sanopars", "Exroh", "Lurtapios", "Tocpertaniel", "Islopaar", "Nizlpad", "Umlaboor",
			"Dalisatosiel", "Erammozal", "Amsaset", "Anhozal", "Irlap", "Nour", "Etnoxaad", "Imubenn", "Ezipexon",
			"Sihunosl", "Ehohit", "Zatbuhsatiel", "Sazsutpe", "Hipdiel", "Honed", "Unikesm", "Udazbanoe",
			"Zotipeposael", "Halmaneop", "Semnsat", "Itakup", "Ehhbes", "Araraz", "Halbasoon", "Nahahetael",
			"Ubeezh", "Ilpbeh", "Hilopael", "Esboot", "Usoparb", "Hotesiatrem", "Epnanaet", "Lehael", "Lapael",
			"Urapes", "Obalasc", "Pandael", "Damaz", "Ehnnat", "Pnecamob", "Ethahoat", "Kuhretieh", "Ekanzapis",
			"Pundohien", "Honolens", "Ahtuxies", "Asidodiel", "Laripael", "Bortarsariel", "Hirular", "Dunaneboriel",
			"Ensadaap", "Usraat", "Hahuhnerael", "Bolenoz", "Larhepeis", "Irasteheh", "Rarahaimzah", "Alahotael",
			"Litedabh", "Lasnuhtasael", "Unamah", "Topriraiz", "Rsaset", "Ansaap", "Opoasl", "Hetet", "Sotsopsehiel",
			"Kopozel", "Xartatesael", "Amosun", "Perensahael", "Chatomep", "Adiarh", "Loos", "Hador", "Sbeihapiel",
			"Odipin", "Tramater", "Mephotasael", "Mozed", "Depar", "Taron", "Anaobm", "Larpusmason", "Essaheah",
			"Suel", "Sahaminapiel", "Dinatoh", "Anrac", "Rasuniolpas", "Isoteciel", "Atcis", "Hatazeh", "Anhoor",
			"Samnerra", "Snilot", "Esasitm", "Arhel", "Rkesitas", "Hexpemsazon", "Izatap", "Ezon", "Koit", "Obasahiel",
			"Cerneplihael", "Husmled", "Hisipon", "Anolahon", "Ppaironael", "Lanetsosiel", "Olon", "Arpzih",
			"Ekarnahox", "Ibmnat", "Ipon", "Sutlanasael", "Srosirad", "Apomael", "Asemet", "Uknatias", "Nohon",
			"Maholab", "Sacuhatakael", "Orpir", "Bessipcopiel", "Isnal", "Elxar",
			"Aetrtevikr", "Airnucaha", "Alesei", "Amaniuevia", "Anendese", "Anentend", "Aneseicon", "Anonish",
			"Ardelica", "Argaluse", "Astharn", "Astiule", "Avacen", "Baliere", "Balucic", "Bardo", "Beserdei", "Bravamos",
			"Brliamide", "Cacosa", "Caleoleb", "Candrnial", "Cebalel", "Celele", "Chareviu", "Chenus", "Civon", "Danani",
			"Dandelene", "Davismarir", "Delel", "Deliusa", "Desalie", "Dethebe", "Doreti", "Drcatrda", "Dricor", "Ebali",
			"Ebelelu", "Einuce", "Elenenga", "Elestrn", "Elianam", "Elustule", "Ercikrl", "Erdor", "Erelucende", "Esanae",
			"Eseishan", "Esetucae", "Etralan", "Ezanelar", "Febrth", "Felele", "Felerelia", "Felidrane", "Femiard",
			"Fentrdes", "Feost", "Festhar", "Fezan", "Galelile", "Ganacas", "Gardet", "Gargda", "Garoneva", "Gdanue",
			"Gdestia", "Gdonisat", "Gdridordro", "Gebriustr", "Genebe", "Genievel", "Getich", "Gileli", "Hacelu", "Hachie",
			"Haleshi", "Hamazalesa", "Hangde", "Haret", "Havarl", "Helica", "Helichas", "Hetal", "Hianar", "Hicielen",
			"Hinasa", "Holusel", "Hononus", "Ialenanete", "Ianenel", "Ianthian", "Icamalius", "Ienag", "Ienive", "Ikriena",
			"Ilialerl", "Iuceosani", "Iulen", "Jercos", "Jucanin", "Juleva", "Juretri", "Jusara", "Jusaranus", "Justhieole",
			"Kraneb", "Kranie", "Krdrethag", "Kreoles", "Krevia", "Krgdei", "Krgdr", "Kriaster", "Krirni", "Krleleni",
			"Krlenagia", "Krneleba", "Krneleneb", "Lananar", "Lartius", "Laselilaza", "Lebrop", "Lelusaror", "Leorn",
			"Leramaman", "Letrtesend", "Libelem", "Liesm", "Lurneseler", "Luson", "Mabanteno", "Macaralen", "Maneleli",
			"Mantha", "Micon", "Miesth", "Miuli", "Moshardosh", "Nanar", "Neleiuc", "Ntholich", "Oleluc", "Olerusa", "Olusar",
			"Onanist", "Onaret", "Onetial", "Ongdastho", "Onicerus", "Orisel", "Orler", "Orosal", "Osaev", "Osazarna", "Phaletesma",
			"Phard", "Pheni", "Phesel", "Phesor", "Phienuebeb", "Phonu", "Ralus", "Rcanoluele", "Rcivamah", "Rdenaro", "Rdeth",
			"Relelete", "Rnara", "Rores", "Rorngane", "Saiabelel", "Sameti", "Santise", "Sareva", "Sasai", "Serantivet",
			"Sezarnti", "Smanda", "Smelieli", "Smetenelul", "Stiulenet", "Taleluso", "Tenda", "Tharanasan", "Thararin",
			"Thialardrd", "Tiusa", "Ucalelen", "Uchenter", "Uetrdrd", "Ulelen", "Ulerosh", "Uleseles", "Urndern", "Usant",
			"Usavamam", "Usonicar", "Usoris", "Vamorchine", "Vanebr", "Vargatu", "Vatielucac", "Velurelu", "Venez", "Vicav",
			"Viust", "Vondr", "Vorntes", "Vosthel", "Xacagalela", "Xaiel", "Xanismis", "Xarlic", "Xarnieta", "Zalebesan",
			"Zalemeta", "Zamint", "Zanabal", "Zanamai", "Zandoni", "Zaraluc", "Zaror", "Zatesor"
		};

		///// CONFIGURE THE FIRST PART OF A SPELL NAME HERE /////////////////////////////////////////////////////
		public static string[] Items5 { get { return m_Items5; } }

		private static string[] m_Items5 = new string[]
		{
			"Clyz", "Achug", "Theram", "Quale", "Lutin", "Gad",
			"Croeq", "Achund", "Therrisi", "Qualorm", "Lyeit", "Garaso",
			"Crul", "Ackhine", "Thritai", "Quaso", "Lyetonu", "Garck",
			"Cuina", "Ackult", "Tig", "Quealt", "Moin", "Garund",
			"Daror", "Aeny", "Tinalt", "Rador", "Moragh", "Ghagha",
			"Deet", "Aeru", "Tinkima", "Rakeld", "Morir", "Ghatas",
			"Deldrad", "Ageick", "Tinut", "Rancwor", "Morosy", "Gosul",
			"Deldrae", "Agemor", "Tonk", "Ranildu", "Mosat", "Hatalt",
			"Delz", "Aghai", "Tonolde", "Ranot", "Mosd", "Hatash",
			"Denad", "Ahiny", "Tonper", "Ranper", "Mosrt", "Hatque",
			"Denold", "Aldkely", "Torint", "Ransayi", "Mosyl", "Hatskel",
			"Denyl", "Aleler", "Trooph", "Ranzmor", "Moszight", "Hattia",
			"Drahono", "Anagh", "Turbelm", "Raydan", "Naldely", "Hiert",
			"Draold", "Anclor", "Uighta", "Rayxwor", "Nalusk", "Hinalde",
			"Dynal", "Anl", "Uinga", "Rhit", "Nalwar", "Hinall",
			"Dyndray", "Antack", "Umnt", "Risormy", "Nas", "Hindend",
			"Eacki", "Ardburo", "Undaughe", "Risshy", "Nat", "Iade",
			"Earda", "Ardmose", "Untdran", "Rodiz", "Nator", "Iaper",
			"Echal", "Ardurne", "Untld", "Rodkali", "Nayth", "Iass",
			"Echind", "Ardyn", "Uoso", "Rodrado", "Neil", "Iawy",
			"Echwaro", "Ashaugha", "Urnroth", "Roort", "Nenal", "Iechi",
			"Eeni", "Ashdend", "Urode", "Ruina", "New", "Ightult",
			"Einea", "Ashye", "Uskdar", "Rynm", "Nia", "Ildaw",
			"Eldsera", "Asim", "Uskmdan", "Rynryna", "Nikim", "Ildoq",
			"Eldwen", "Athdra", "Usksough", "Ryns", "Nof", "Inabel",
			"Eldyril", "Athskel", "Usktoro", "Rynut", "Nook", "Inaony",
			"Elmkach", "Atkin", "Ustagee", "Samgha", "Nybage", "Inease",
			"Elmll", "Aughint", "Ustld", "Samnche", "Nyiy", "Ineegh",
			"Emath", "Aughthere", "Ustton", "Samssam", "Nyseld", "Ineiti",
			"Emengi", "Avery", "Verporm", "Sawor", "Nysklye", "Ineun",
			"Emild", "Awch", "Vesrade", "Sayimo", "Nyw", "Ingr",
			"Emmend", "Banend", "Voraughe", "Sayn", "Oasho", "Isbaugh",
			"Emnden", "Beac", "Vorril", "Sayskelu", "Oendy", "Islyei",
			"Endvelm", "Belan", "Vorunt", "Scheach", "Oenthi", "Issy",
			"Endych", "Beloz", "Whedan", "Scheyer", "Ohato", "Istin",
			"Engeh", "Beltiai", "Whisam", "Serat", "Oldack", "Iumo",
			"Engen", "Bliorm", "Whok", "Sernd", "Oldar", "Jyhin",
			"Engh", "Burold", "Worath", "Skell", "Oldr", "Jyon",
			"Engraki", "Buror", "Worav", "Skelser", "Oldtar", "Kalov",
			"Engroth", "Byt", "Worina", "Slim", "Omdser", "Kelol",
			"Engum", "Cakal", "Worryno", "Snaest", "Ond", "Kinser",
			"Enhech", "Carr", "Worunty", "Sniund", "Oron", "Koor",
			"Enina", "Cayld", "Worwaw", "Sosam", "Orrbel", "Lear",
			"Enk", "Cerar", "Yary", "Stayl", "Osnt", "Leert",
			"Enlald", "Cerl", "Yawi", "Stol", "Peright", "Legar",
			"Enskele", "Cerv", "Yena", "Strever", "Perpban", "Lerev",
			"Eoru", "Chaur", "Yero", "Swaih", "Phiunt", "Lerzshy",
			"Ernysi", "Chayn", "Yerrves", "Tagar", "Poll", "Llash",
			"Erque", "Cheimo", "Yhone", "Taienn", "Polrad", "Llotor",
			"Errusk", "Chekim", "Yradi", "Taiyild", "Polsera", "Loem",
			"Ervory", "Chreusk", "Zhugar", "Tanen", "Puon", "Loing",
			"Essisi", "Chrir", "Zirt", "Tasaf", "Quaev", "Lorelmo",
			"Essnd", "Chroelt", "Zoine", "Tasrr", "Quahang", "Lorud",
			"Estech", "Cloran", "Zotin", "Thaeng", "Qual", "Lour",
			"Estkunt", "Etoth", "Esule", "Estnight"
		};

		///// CONFIGURE THE SECOND PART OF A SPELL NAME HERE /////////////////////////////////////////////////////
		public static string[] Items6 { get { return m_Items6; } }

		private static string[] m_Items6 = new string[]
		{
			"Acidic", "Summoning", "Scrying", "Obscure", "Iron", "Ghoulish", "Enfeebling",
			"Altered", "Secret", "Obscuring", "Irresistible", "Gibbering", "Enlarged", "Confusing",
			"Analyzing", "Sympathetic", "Secure", "Permanent", "Keen", "Glittering", "Ethereal", "Contacting",
			"Animal", "Telekinetic", "Seeming", "Persistent", "Lawful", "Evil", "Continual",
			"Animated", "Telepathic", "Shadow", "Phantasmal", "Legendary", "Good", "Expeditious", "Control",
			"Antimagic", "Teleporting", "Shattering", "Phantom", "Lesser", "Grasping", "Explosive", "Crushing",
			"Arcane", "Temporal", "Shocking", "Phasing", "Levitating", "Greater", "Fabricated", "Cursed",
			"Articulated", "Tiny", "Shouting", "Planar", "Limited", "Guarding", "Faithful", "Dancing",
			"Binding", "Transmuting", "Shrinking", "Poisonous", "Lucubrating", "Fearful", "Dazzling",
			"Black", "Undead", "Silent", "Polymorphing", "Magical", "Hallucinatory", "Delayed",
			"Blinding", "Undetectable", "Slow", "Prismatic", "Magnificent", "Hideous", "Fire", "Demanding",
			"Blinking", "Unseen", "Solid", "Programmed", "Major", "Holding", "Flaming", "Dimensional",
			"Vampiric", "Soul", "Projected", "Mass", "Horrid", "Discern",
			"Burning", "Vanishing", "Spectral", "Mending", "Hypnotic", "Floating", "Disintegrating",
			"Cat", "Protective", "Mind", "Ice", "Flying", "Disruptive",
			"Chain", "Spidery", "Prying", "Minor", "Illusionary", "Force", "Dominating",
			"Changing", "Warding", "Stinking", "Pyrotechnic", "Mirrored", "Improved", "Forceful", "Dreaming",
			"Chaotic", "Water", "Stone", "Rainbow", "Misdirected", "Incendiary", "Freezing", "Elemental",
			"Charming", "Watery", "Misleading", "Instant", "Gaseous", "Emotional",
			"Chilling", "Weird", "Storming", "Resilient", "Mnemonic", "Interposing", "Gentle", "Enduring",
			"Whispering", "Suggestive", "Reverse", "Moving", "Invisible", "Ghostly", "Energy",
			"Clenched", "Climbing", "Comprehending", "Colorful", "True", "False"
		};

		///// CONFIGURE THE THIRD PART OF A SPELL NAME HERE /////////////////////////////////////////////////////
		public static string[] Items7 { get { return m_Items7; } }

		private static string[] m_Items7 = new string[]
		{
			"Acid", "Tentacles", "Sigil", "Plane", "Legend", "Gravity", "Emotion", "Chest",
			"Alarm", "Terrain", "Simulacrum", "Poison", "Lightning", "Grease", "Endurance", "Circle",
			"Anchor", "Thoughts", "Skin", "Polymorph", "Lights", "Growth", "Enervation", "Clairvoyance",
			"Animal", "Time", "Sleep", "Prestidigitation", "Location", "Guards", "Enfeeblement", "Clone",
			"Antipathy", "Tongues", "Soul", "Projection", "Lock", "Hand", "Enhancer", "Cloud",
			"Arcana", "Touch", "Sound", "Pyrotechnics", "Lore", "Haste", "Etherealness", "Cold",
			"Armor", "Transformation", "Spells", "Refuge", "Lucubration", "Hat", "Evil", "Color",
			"Arrows", "Trap", "Sphere", "Repulsion", "Magic", "Hound", "Evocation", "Confusion",
			"Aura", "Trick", "Spider", "Resistance", "Mansion", "Hypnotism", "Eye", "Conjuration",
			"Banishment", "Turning", "Spray", "Retreat", "Mask", "Ice", "Fall", "Contagion",
			"Banshee", "Undead", "Stasis", "Rope", "Maze", "Image", "Fear", "Creation",
			"Bear", "Vanish", "Statue", "Runes", "Message", "Imprisonment", "Feather", "Curse",
			"Binding", "Veil", "Steed", "Scare", "Meteor", "Insanity", "Field", "Dance",
			"Vision", "Stone", "Screen", "Mind", "Invisibility", "Fireball", "Darkness",
			"Blindness", "Vocation", "Storm", "Script", "Mirage", "Invulnerability", "Flame", "Daylight",
			"Blink", "Wail", "Strength", "Scrying", "Misdirection", "Iron", "Flesh", "Dead",
			"Blur", "Walk", "Strike", "Seeing", "Missile", "Item", "Fog", "Deafness",
			"Body", "Wall", "Stun", "Self", "Mist", "Force", "Death",
			"Bolt", "Wards", "Suggestion", "Sending", "Monster", "Jaunt", "Foresight", "Demand",
			"Bond", "Water", "Summons", "Servant", "Mouth", "Jump", "Form", "Disjunction",
			"Breathing", "Weapon", "Sunburst", "Shadow", "Mud", "Slay", "Freedom", "Disk",
			"Burning", "Weather", "Swarm", "Shape", "Nightmare", "Slayer", "Frost", "Dismissal",
			"Cage", "Web", "Symbol", "Shelter", "Object", "Knock", "Gate", "Displacement",
			"Chain", "Wilting", "Sympathy", "Shield", "Page", "Languages", "Good", "Door",
			"Chaos", "Wind", "Telekinesis", "Shift", "Pattern", "Laughter", "Grace", "Drain",
			"Charm", "Wish", "Teleport", "Shout", "Person", "Law", "Grasp", "Dream",
			"Elements", "Edge", "Earth", "Dust"
		};
        #endregion
	}

    public class MonsterTypeName
    {
        private Type[] m_Types;
        private string m_Name;

        public Type[] Types { get { return m_Types; } set { m_Types = value; } }
        public string Name { get { return m_Name; } set { m_Name = value; } }
        public MonsterTypeName(string name, Type[] types)
        {
            m_Name = name;
            m_Types = types;
        }
    }

    public enum RandomQuestType
    {
        Kill,
        Find
    }

    public class RandomMonster
    {
        private string m_Name;
        private Type[] m_Types;
        private int m_Count;

        public string Name { get { return m_Name; } }
        public Type[] Types { get { return m_Types; } }
        public int Count { get { return m_Count; } }

        public RandomMonster(string monster, string type, int count)
        {
            m_Name = monster;
            m_Types = null;
            if (type != null && type.Trim() != "")
            {
                Type monstertype = ScriptCompiler.FindTypeByName(type);
                if (monstertype != null && monstertype.IsSubclassOf(typeof(BaseCreature)))
                    m_Types = new Type[] { monstertype };
            }
            m_Count = count;
        }

        public RandomMonster(string monster, Type[] types, int count)
        {
            m_Name = monster;
            m_Types = types;
            m_Count = count;
        }

        public bool isValid()
        {
            if (m_Name != null && m_Name.Trim() != "" && m_Types != null)
                return true;
            else
                return false;
        }

        public void Serialize(GenericWriter writer)
        {
            writer.WriteEncodedInt((int)1); // version

            writer.Write(m_Name);
            writer.Write(m_Types.Length);
            foreach (Type type in m_Types)
                writer.Write(type.ToString());
            writer.WriteEncodedInt(m_Count);
        }

        public static RandomMonster Deserialize(GenericReader reader)
        {
            int version = reader.ReadEncodedInt();

            string name = reader.ReadString();
            int length = reader.ReadInt();
            Type[] types = new Type[length];
            for (int i = 0; i < length; i++)
                types[i] = ScriptCompiler.FindTypeByFullName(reader.ReadString());
            int count = reader.ReadEncodedInt();

            return new RandomMonster(name, types, count);
        }
    }
}